﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.creditos.be.liclSolcred;
using com.creditos.be.liclBases;
using com.creditos.dao.sql;

namespace com.creditos.dao.liclBases
{
    public class CentralRiesgoDAO
    {
        public static List<CentralRiesgoBE> ObtenerListaPoliticaCredito(CentralRiesgoBE oCentral)
        {
            List<CentralRiesgoBE> lstCentralRiesgo = new List<CentralRiesgoBE>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerListaPoliticaCredito";
            oCmd.AddParameter("@Accion", 1);
            oCmd.AddParameter("@TipoPoliticaCredito", oCentral.CodigoTipoPoliticaCredito);
            lstCentralRiesgo = (List<CentralRiesgoBE>)ElManager.EjecutarStore<CentralRiesgoBE>(oCmd, DataBase.MOTOREGLA_WEB);
            return lstCentralRiesgo;
        }

        public static void ActualizarBuroDatosGenerales(List<DatGen> oDatosGenerales)
        {            
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ActualizarBuroDatosGenerales";
            oCmd.AddParameter("@OrigenSolicitud", oDatosGenerales[0].OrigenSolicitud);
            oCmd.AddParameter("@NumeroSolicitud", oDatosGenerales[0].NumeroSolicitud);
            oCmd.AddParameter("@CodigoIntegrante", oDatosGenerales[0].CodigoIntegrante);
            oCmd.AddParameter("@CodigoConsulta", oDatosGenerales[0].CodigoConsulta);
            oCmd.AddParameter("@TipoDocumento", oDatosGenerales[0].TipoDocumento);
            oCmd.AddParameter("@NroDocumento", oDatosGenerales[0].NroDocumento);
            oCmd.AddParameter("@TipoPersona", oDatosGenerales[0].TipoPersona);
            oCmd.AddParameter("@NroRuc", oDatosGenerales[0].NroRuc);
            oCmd.AddParameter("@Nombre", oDatosGenerales[0].NomCliente);
            oCmd.AddParameter("@NombreComercial", oDatosGenerales[0].NomComercial);
            oCmd.AddParameter("@Departamento", oDatosGenerales[0].NomDepartamento);
            oCmd.AddParameter("@Provincia", oDatosGenerales[0].NomProvincia);
            oCmd.AddParameter("@Distrito", oDatosGenerales[0].NomDistrito);
            oCmd.AddParameter("@Direccion", oDatosGenerales[0].NomDirreccion);
            oCmd.AddParameter("@CondicionSunat", oDatosGenerales[0].CondicionSunat);
            oCmd.AddParameter("@TipoContribuyente", oDatosGenerales[0].TipoContribuyente);
            oCmd.AddParameter("@Actividad", oDatosGenerales[0].Actividad);
            oCmd.AddParameter("@FechaNacimiento", oDatosGenerales[0].FechaNacimiento);
            oCmd.AddParameter("@Telefono", oDatosGenerales[0].NumTelefono);
            oCmd.AddParameter("@Fax", oDatosGenerales[0].NumTelFax);
            ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);            
        }

        public static void ActualizarBuroCalificacion(List<Calificacion> oCalificacion)
        {
            for (int i = 0; i < oCalificacion.Count; i++)
            {
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ActualizarBuroCalificacion";
                oCmd.AddParameter("@OrigenSolicitud", oCalificacion[i].OrigenSolicitud);
                oCmd.AddParameter("@NumeroSolicitud", oCalificacion[i].NumeroSolicitud);
                oCmd.AddParameter("@CodigoIntegrante", oCalificacion[i].CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oCalificacion[i].CodigoConsulta);
                oCmd.AddParameter("@FechaReporte", oCalificacion[i].FechaReporte);
                oCmd.AddParameter("@NroEntidades", oCalificacion[i].Entidades);
                oCmd.AddParameter("@CalNormal", oCalificacion[i].CalNormal);
                oCmd.AddParameter("@CalCPP", oCalificacion[i].CallCPP);
                oCmd.AddParameter("@CalDeficiente", oCalificacion[i].CallDeficiente);
                oCmd.AddParameter("@CalDudoso", oCalificacion[i].CallDudoso);
                oCmd.AddParameter("@CalPerdida", oCalificacion[i].CallPerdida);
                oCmd.AddParameter("@NroEntidadesRep", oCalificacion[i].EntidadResponsable);
                ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);
            }
        }

        public static void ActualizarBuroMorosidad(List<Morosidad> oMorosidad)
        {
            for (int i = 0; i < oMorosidad.Count; i++)
            {
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ActualizarBuroMorosidad";
                oCmd.AddParameter("@OrigenSolicitud", oMorosidad[i].OrigenSolicitud);
                oCmd.AddParameter("@NumeroSolicitud", oMorosidad[i].NumeroSolicitud);
                oCmd.AddParameter("@CodigoIntegrante", oMorosidad[i].CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oMorosidad[i].CodigoConsulta);
                oCmd.AddParameter("@TipoMorosidad", oMorosidad[i].TipoMora);
                oCmd.AddParameter("@NroItem", oMorosidad[i].NumeroItem);
                oCmd.AddParameter("@Documento", oMorosidad[i].NomDocumento);
                oCmd.AddParameter("@CodDocumento", oMorosidad[i].CodDocumento);
                oCmd.AddParameter("@FechaVencimiento", oMorosidad[i].FechaVencimiento);
                oCmd.AddParameter("@FechaReporte", oMorosidad[i].FechaReporte);
                oCmd.AddParameter("@Moneda", oMorosidad[i].TipoMoneda);
                oCmd.AddParameter("@Importe", oMorosidad[i].Importe);
                oCmd.AddParameter("@Observacion", oMorosidad[i].Observaciones);
                oCmd.AddParameter("@Entidad", oMorosidad[i].EntidadRepresentante);
                ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);
            }
        }

        public static void ActualizarBuroAdversos(List<Adversos> oAdversos)
        {
            for (int i = 0; i < oAdversos.Count; i++)
            {
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ActualizarBuroAdversos";
                oCmd.AddParameter("@OrigenSolicitud", oAdversos[i].OrigenSolicitud);
                oCmd.AddParameter("@NumeroSolicitud", oAdversos[i].NumeroSolicitud);
                oCmd.AddParameter("@CodigoIntegrante", oAdversos[i].CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oAdversos[i].CodigoConsulta);                
                oCmd.AddParameter("@NroItem", oAdversos[i].NumeroItem);
                oCmd.AddParameter("@Entidad", oAdversos[i].NombreEntidad);
                oCmd.AddParameter("@TipoDocumento", oAdversos[i].TipoDocumento);
                oCmd.AddParameter("@MotivoRechazo", oAdversos[i].TipoRechazo);
                oCmd.AddParameter("@Moneda", oAdversos[i].TipoMoneda);
                oCmd.AddParameter("@ImporteReportado", oAdversos[i].Importe);
                oCmd.AddParameter("@TipoSancion", oAdversos[i].TipoSancion);
                oCmd.AddParameter("@FechaAnulacion", oAdversos[i].FechaSancion);
                oCmd.AddParameter("@FechaReporte", oAdversos[i].FechaReporte);
                oCmd.AddParameter("@FechaTerminoSancion", oAdversos[i].FechaCierre);                
                ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);
            }
        }

        public static void ActualizarBuroDeudaSBS(List<DeudaSBS> oDeudadSBS)
        {
            for (int i = 0; i < oDeudadSBS.Count; i++)
            {
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ActualizarBuroDeudaSBS";
                oCmd.AddParameter("@OrigenSolicitud", oDeudadSBS[i].OrigenSolicitud);
                oCmd.AddParameter("@NumeroSolicitud", oDeudadSBS[i].NumeroSolicitud);
                oCmd.AddParameter("@CodigoIntegrante", oDeudadSBS[i].CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oDeudadSBS[i].CodigoConsulta);
                oCmd.AddParameter("@FechaReporte", oDeudadSBS[i].ReporteFecha);
                oCmd.AddParameter("@CuentaSBS", oDeudadSBS[i].CodCuentaSBS);
                oCmd.AddParameter("@Moneda", oDeudadSBS[i].TipoMoneda);
                oCmd.AddParameter("@ImporteDeudaSoles", oDeudadSBS[i].ImpReportSoles);
                oCmd.AddParameter("@ImporteDeudaDolar", oDeudadSBS[i].ImpReportDolares);
                ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);
            }
        }
        public static void ActualizarBuroOmisos(List<Omisos> oOmisos)
        {
            for (int i = 0; i < oOmisos.Count; i++)
            {
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ActualizarBuroOmisos";
                oCmd.AddParameter("@OrigenSolicitud", oOmisos[i].OrigenSolicitud);
                oCmd.AddParameter("@NumeroSolicitud", oOmisos[i].NumeroSolicitud);
                oCmd.AddParameter("@CodigoIntegrante", oOmisos[i].CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oOmisos[i].CodigoConsulta);
                oCmd.AddParameter("@NroItem", oOmisos[i].NumeroItem);
                oCmd.AddParameter("@FechaReporte", oOmisos[i].FechaReporte);
                oCmd.AddParameter("@Tributo", oOmisos[i].EntidadReportante);
                oCmd.AddParameter("@Periodo", oOmisos[i].Periodo);                
                ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);
            }
        }

        public static void ActualizarBuroOtraDireccion(List<OtrDir> oOtraDireccion)
        {
            for (int i = 0; i < oOtraDireccion.Count; i++)
            {
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ActualizarBuroOtraDireccion";
                oCmd.AddParameter("@OrigenSolicitud", oOtraDireccion[i].OrigenSolicitud);
                oCmd.AddParameter("@NumeroSolicitud", oOtraDireccion[i].NumeroSolicitud);
                oCmd.AddParameter("@CodigoIntegrante", oOtraDireccion[i].CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oOtraDireccion[i].CodigoConsulta);
                oCmd.AddParameter("@NroDireccion", oOtraDireccion[i].NumeroDireccion);
                oCmd.AddParameter("@Direccion", oOtraDireccion[i].NomDireccion);
                oCmd.AddParameter("@Entidad", oOtraDireccion[i].NomEntidad);
                oCmd.AddParameter("@FechaReporte", oOtraDireccion[i].FechaReporte);                
                ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);
            }
        }

        public static void ActualizarBuroProtesto(List<Protesto> oProtesto)
        {
            for (int i = 0; i < oProtesto.Count; i++)
            {
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ActualizarBuroProtesto";
                oCmd.AddParameter("@OrigenSolicitud", oProtesto[i].OrigenSolicitud);
                oCmd.AddParameter("@NumeroSolicitud", oProtesto[i].NumeroSolicitud);
                oCmd.AddParameter("@CodigoIntegrante", oProtesto[i].CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oProtesto[i].CodigoConsulta);
                oCmd.AddParameter("@TipoProtesto", oProtesto[i].TipoProtesto);
                oCmd.AddParameter("@NroItem", oProtesto[i].NumeroItem);
                oCmd.AddParameter("@CodDocumento", oProtesto[i].CodCamaraComercioLima);
                oCmd.AddParameter("@FechaDocumento", oProtesto[i].FechaDocumento);
                oCmd.AddParameter("@TipoDocumento", oProtesto[i].TipoDocumento);
                oCmd.AddParameter("@Moneda", oProtesto[i].TipoMoneda);
                oCmd.AddParameter("@Importe", oProtesto[i].Importe);
                oCmd.AddParameter("@FechaArreglo", oProtesto[i].FechaArreglo);
                oCmd.AddParameter("@Ubigeo", oProtesto[i].NomUbigeo);
                oCmd.AddParameter("@AceptanteGirador", oProtesto[i].NomEntidad);                
                ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);
            }
        }

        public static void ActualizarBuroRepresentanteLegal(List<RepresentantesLegales> oRepresentantesLegales)
        {
            for (int i = 0; i < oRepresentantesLegales.Count; i++)
            {
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ActualizarBuroRepresentanteLegal";
                oCmd.AddParameter("@OrigenSolicitud", oRepresentantesLegales[i].OrigenSolicitud);
                oCmd.AddParameter("@NumeroSolicitud", oRepresentantesLegales[i].NumeroSolicitud);
                oCmd.AddParameter("@CodigoIntegrante", oRepresentantesLegales[i].CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oRepresentantesLegales[i].CodigoConsulta);
                oCmd.AddParameter("@NroRepresentante", oRepresentantesLegales[i].NumeroRepresentante);
                oCmd.AddParameter("@TipoPersona", oRepresentantesLegales[i].TipoPersona);
                oCmd.AddParameter("@DocumentoIdentidad", oRepresentantesLegales[i].CodDocumentoIdentidad);
                oCmd.AddParameter("@DocumentoTributario", oRepresentantesLegales[i].NomCliente);
                oCmd.AddParameter("@Empresa", oRepresentantesLegales[i].CodRUC);
                oCmd.AddParameter("@Cargo", oRepresentantesLegales[i].NomCargo);                
                ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);
            }
        }

        public static void ActualizarBuroDeudaSBSEntidad(List<MorosidadSBS> oMorosidadSBS)
        {
            for (int i = 0; i < oMorosidadSBS.Count; i++)
            {
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ActualizarBuroDeudaSBSEntidad";
                oCmd.AddParameter("@OrigenSolicitud", oMorosidadSBS[i].OrigenSolicitud);
                oCmd.AddParameter("@NumeroSolicitud", oMorosidadSBS[i].NumeroSolicitud);
                oCmd.AddParameter("@CodigoIntegrante", oMorosidadSBS[i].CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oMorosidadSBS[i].CodigoConsulta);
                oCmd.AddParameter("@FechaReporte", oMorosidadSBS[i].FechaReporte);
                oCmd.AddParameter("@CuentaSBS", oMorosidadSBS[i].CodigoCuentaSBS);
                oCmd.AddParameter("@Moneda", oMorosidadSBS[i].TipoMoneda);
                if (oMorosidadSBS[i].TipoMoneda == "S")
                {
                    oCmd.AddParameter("@ImporteDeudaSoles", oMorosidadSBS[i].Importe);
                    oCmd.AddParameter("@ImporteDeudaDolar", 0);
                }
                else
                {
                    oCmd.AddParameter("@ImporteDeudaDolar", oMorosidadSBS[i].Importe);
                    oCmd.AddParameter("@ImporteDeudaSoles", 0);
                }
                oCmd.AddParameter("@Entidad", oMorosidadSBS[i].EntidadReportante);
                oCmd.AddParameter("@NroDiasMora", oMorosidadSBS[i].DiasMora);
                ElManager.EjecutarStore<object>(oCmd, DataBase.CREDITO_WEB);
            }
        }

        public static List<DatGen> ObtenerBuroDatosGenerales(ClienteConsulta oDatosGenerales)
        {
            List<DatGen> lstDatosGenerales = new List<DatGen>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerBuroDatosGenerales";
            oCmd.AddParameter("@OrigenSolicitud", oDatosGenerales.OrigenSolicitud);
            oCmd.AddParameter("@NroSolicitud", oDatosGenerales.NumeroSolicitud);
            oCmd.AddParameter("@CodIntegrante", oDatosGenerales.CodigoIntegrante);
            oCmd.AddParameter("@CodigoConsulta", oDatosGenerales.CodigoConsulta);
            lstDatosGenerales = (List<DatGen>)ElManager.EjecutarStore<DatGen>(oCmd, DataBase.CREDITO_WEB);
            return lstDatosGenerales;
        }

        public static List<OtrDir> ObtenerBuroOtraDireccion(ClienteConsulta oOtraDireccion)
        {
                List<OtrDir> lstOtraDireccion = new List<OtrDir>();
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ObtenerBuroOtraDireccion";
                oCmd.AddParameter("@OrigenSolicitud", oOtraDireccion.OrigenSolicitud);
                oCmd.AddParameter("@NroSolicitud", oOtraDireccion.NumeroSolicitud);
                oCmd.AddParameter("@CodIntegrante", oOtraDireccion.CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oOtraDireccion.CodigoConsulta);
                lstOtraDireccion = (List<OtrDir>)ElManager.EjecutarStore<OtrDir>(oCmd, DataBase.CREDITO_WEB);
                return lstOtraDireccion;
        }

        public static List<Omisos> ObtenerBuroOmisos(ClienteConsulta oOmisos)
        {
                List<Omisos> lstOmisos = new List<Omisos>();
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ObtenerBuroOmisos";
                oCmd.AddParameter("@OrigenSolicitud", oOmisos.OrigenSolicitud);
                oCmd.AddParameter("@NroSolicitud", oOmisos.NumeroSolicitud);
                oCmd.AddParameter("@CodIntegrante", oOmisos.CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oOmisos.CodigoConsulta);
                lstOmisos = (List<Omisos>)ElManager.EjecutarStore<Omisos>(oCmd, DataBase.CREDITO_WEB);
                return lstOmisos;
          
        }

        public static List<RepresentantesLegales> ObtenerBuroRepresentanteLegal(ClienteConsulta oRepresentantesLegales)
        {
                List<RepresentantesLegales> lstRepresentantesLegales = new List<RepresentantesLegales>();
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ObtenerBuroRepresentanteLegal";
                oCmd.AddParameter("@OrigenSolicitud", oRepresentantesLegales.OrigenSolicitud);
                oCmd.AddParameter("@NroSolicitud", oRepresentantesLegales.NumeroSolicitud);
                oCmd.AddParameter("@CodIntegrante", oRepresentantesLegales.CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oRepresentantesLegales.CodigoConsulta);
                lstRepresentantesLegales = (List<RepresentantesLegales>)ElManager.EjecutarStore<RepresentantesLegales>(oCmd, DataBase.CREDITO_WEB);
                return lstRepresentantesLegales;            
        }

        public static List<Calificacion> ObtenerBuroCalificaciones(ClienteConsulta oCalificacion)
        {
                List<Calificacion> lstCalificacion = new List<Calificacion>();
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ObtenerBuroCalificaciones";
                oCmd.AddParameter("@OrigenSolicitud", oCalificacion.OrigenSolicitud);
                oCmd.AddParameter("@NroSolicitud", oCalificacion.NumeroSolicitud);
                oCmd.AddParameter("@CodIntegrante", oCalificacion.CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oCalificacion.CodigoConsulta);
                lstCalificacion = (List<Calificacion>)ElManager.EjecutarStore<Calificacion>(oCmd, DataBase.CREDITO_WEB);
                return lstCalificacion;            
           
        }

        public static List<Adversos> ObtenerBuroAdversos(ClienteConsulta oAdversos)
        {
                List<Adversos> lstAdversos = new List<Adversos>();
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ObtenerBuroAdversos";
                oCmd.AddParameter("@OrigenSolicitud", oAdversos.OrigenSolicitud);
                oCmd.AddParameter("@NroSolicitud", oAdversos.NumeroSolicitud);
                oCmd.AddParameter("@CodIntegrante", oAdversos.CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oAdversos.CodigoConsulta);
                lstAdversos = (List<Adversos>)ElManager.EjecutarStore<Adversos>(oCmd, DataBase.CREDITO_WEB);
                return lstAdversos;            
            
        }

        public static List<Morosidad> ObtenerBuroMorosidad(ClienteConsulta oMorosidad)
        {
                List<Morosidad> lstMorosidad = new List<Morosidad>();   
                Comando oCmd = new Comando();
                oCmd.CommandName = "PRC_ObtenerBuroMorosidad";
                oCmd.AddParameter("@OrigenSolicitud", oMorosidad.OrigenSolicitud);
                oCmd.AddParameter("@NroSolicitud", oMorosidad.NumeroSolicitud);
                oCmd.AddParameter("@CodIntegrante", oMorosidad.CodigoIntegrante);
                oCmd.AddParameter("@CodigoConsulta", oMorosidad.CodigoConsulta);
                lstMorosidad = (List<Morosidad>)ElManager.EjecutarStore<Morosidad>(oCmd, DataBase.CREDITO_WEB);
                return lstMorosidad;   
        }

        public static List<Protesto> ObtenerBuroProtestos(ClienteConsulta oProtesto)
        {
            List<Protesto> lstProtesto = new List<Protesto>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerBuroProtestos";
            oCmd.AddParameter("@OrigenSolicitud", oProtesto.OrigenSolicitud);
            oCmd.AddParameter("@NroSolicitud", oProtesto.NumeroSolicitud);
            oCmd.AddParameter("@CodIntegrante", oProtesto.CodigoIntegrante);
            oCmd.AddParameter("@CodigoConsulta", oProtesto.CodigoConsulta);
            lstProtesto = (List<Protesto>)ElManager.EjecutarStore<Protesto>(oCmd, DataBase.CREDITO_WEB);
            return lstProtesto;

        }

        public static List<ReglasEvaluacion> ObtenerListaResultadoReglas(ClienteConsulta oSolicitud)
        {
            List<ReglasEvaluacion> lstResultado = new List<ReglasEvaluacion>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerListaResultadoReglas";
            oCmd.AddParameter("@TipoOrigen", 1);
            oCmd.AddParameter("@NumeroSolicitud", oSolicitud.NumeroSolicitud);
            lstResultado = (List<ReglasEvaluacion>)ElManager.EjecutarStore<ReglasEvaluacion>(oCmd, DataBase.CREDITO_WEB);
            return lstResultado;

        }

        public static List<IntegrantesBuro> ObtenerListaIntegrantesBuroCredito(ClienteConsulta oIntegrantes)
        {
            List<IntegrantesBuro> lstIntegrantes = new List<IntegrantesBuro>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerListaIntegrantesBuroCredito";
            oCmd.AddParameter("@OrigenSolicitud", oIntegrantes.OrigenSolicitud);
            oCmd.AddParameter("@NumeroSolicitud", oIntegrantes.NumeroSolicitud);
            lstIntegrantes = (List<IntegrantesBuro>)ElManager.EjecutarStore<IntegrantesBuro>(oCmd, DataBase.CREDITO_WEB);
            return lstIntegrantes;
        }

        public static List<DeudaSBS> ObtenerBuroResumenDeudaSBSEntidad(ClienteConsulta oDeuda)
        {
            List<DeudaSBS> lstIntegrantes = new List<DeudaSBS>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerBuroResumenDeudaSBSEntidad";
            oCmd.AddParameter("@OrigenSolicitud", oDeuda.OrigenSolicitud);
            oCmd.AddParameter("@NroSolicitud", oDeuda.NumeroSolicitud);
            oCmd.AddParameter("@CodIntegrante", oDeuda.CodigoIntegrante);
            oCmd.AddParameter("@CodigoConsulta", oDeuda.CodigoConsulta);
            lstIntegrantes = (List<DeudaSBS>)ElManager.EjecutarStore<DeudaSBS>(oCmd, DataBase.CREDITO_WEB);
            return lstIntegrantes;
        }

        public static List<MorosidadSBS> ObtenerBuroDeudaSBSEntidad(ClienteConsulta oMorosidadSBS)
        {
            List<MorosidadSBS> lstIntegrantes = new List<MorosidadSBS>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerBuroDeudaSBSEntidad";
            oCmd.AddParameter("@OrigenSolicitud", oMorosidadSBS.OrigenSolicitud);
            oCmd.AddParameter("@NroSolicitud", oMorosidadSBS.NumeroSolicitud);
            oCmd.AddParameter("@CodIntegrante", oMorosidadSBS.CodigoIntegrante);
            oCmd.AddParameter("@CodigoConsulta", oMorosidadSBS.CodigoConsulta);
            lstIntegrantes = (List<MorosidadSBS>)ElManager.EjecutarStore<MorosidadSBS>(oCmd, DataBase.CREDITO_WEB);
            return lstIntegrantes;
        }

        public static List<ReglaCentralRiesgo> ListarVariables()
        {
            List<ReglaCentralRiesgo> lstParametro = new List<ReglaCentralRiesgo>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerListaVariables";
            oCmd.AddParameter("@Accion", 1);
            lstParametro = (List<ReglaCentralRiesgo>)ElManager.EjecutarStore<ReglaCentralRiesgo>(oCmd, DataBase.MOTOREGLA_WEB);
            return lstParametro;
        }

        public static List<ReglaCentralRiesgo> ActualizarPoliticaCredito(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ActualizarPoliticaCredito";
            oCmd.AddParameter("@Accion", oReglaCentral.Accion);
            oCmd.AddParameter("@CodPlantilla", oReglaCentral.CodigoPlantilla);
            oCmd.AddParameter("@DesPlantilla", oReglaCentral.DescripcionPlantilla);
            oCmd.AddParameter("@CodTipoPolitica", oReglaCentral.CodigoTipoPoliticaCredito);
            oCmd.AddParameter("@CodUsuario", oReglaCentral.CodigoUsuarioRegistro);
            lst = (List<ReglaCentralRiesgo>)ElManager.EjecutarStore<ReglaCentralRiesgo>(oCmd, DataBase.MOTOREGLA_WEB);
            return lst;
        }
        public static List<ReglaCentralRiesgo> ActualizarReglaNegocio(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ActualizarReglaNegocio";
            oCmd.AddParameter("@Accion", oReglaCentral.Accion);
            oCmd.AddParameter("@CodPlantilla", oReglaCentral.CodigoPlantilla);
            oCmd.AddParameter("@TipoIntegrante", oReglaCentral.CodigoTipoIntegrante);
            oCmd.AddParameter("@CodReglaNegocio", oReglaCentral.CodigoReglaNegocio);
            oCmd.AddParameter("@DesReglaNegocio", oReglaCentral.DescripcionReglaNegocio);
            oCmd.AddParameter("@CodTipoVariable", oReglaCentral.CodigoTipoVariable);
            oCmd.AddParameter("@CodResultado", oReglaCentral.CodigoResultado);
            oCmd.AddParameter("@CodUsuario", oReglaCentral.CodigoUsuarioRegistro);
            lst = (List<ReglaCentralRiesgo>)ElManager.EjecutarStore<ReglaCentralRiesgo>(oCmd, DataBase.MOTOREGLA_WEB);
            return lst;
        }
        public static List<ReglaCentralRiesgo> ActualizarReglaNegocioCondicion(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ActualizarReglaNegocioCondicion";
            oCmd.AddParameter("@Accion", oReglaCentral.Accion);
            oCmd.AddParameter("@CodPlantilla", oReglaCentral.CodigoPlantilla);
            oCmd.AddParameter("@TipoIntegrante", oReglaCentral.CodigoTipoIntegrante);
            oCmd.AddParameter("@CodReglaNegocio", oReglaCentral.CodigoReglaNegocio);
            oCmd.AddParameter("@CodCondicion", oReglaCentral.CodigoCondicion);
            oCmd.AddParameter("@CodVariable", oReglaCentral.CodigoTipoVariable);
            oCmd.AddParameter("@TipoOperadorLogico", oReglaCentral.CodigoTipoOperadorLogico);
            oCmd.AddParameter("@DesValorComparacion", oReglaCentral.DescripcionValorComparacion);
            oCmd.AddParameter("@Tipo_And_Or", oReglaCentral.Tipo_And_Or);
            oCmd.AddParameter("@CodUsuario", oReglaCentral.CodigoUsuarioRegistro);
            lst = (List<ReglaCentralRiesgo>)ElManager.EjecutarStore<ReglaCentralRiesgo>(oCmd, DataBase.MOTOREGLA_WEB);
            return lst;
        }

        public static List<CentralRiesgoBE> ObtenerPoliticaCredito(ReglaCentralRiesgo oReglaCentral)
        {
            List<CentralRiesgoBE> lst = new List<CentralRiesgoBE>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerPoliticaCredito";
            oCmd.AddParameter("@Accion", oReglaCentral.Accion);
            oCmd.AddParameter("@CodPlantilla", oReglaCentral.CodigoPlantilla);
            lst = (List<CentralRiesgoBE>)ElManager.EjecutarStore<CentralRiesgoBE>(oCmd, DataBase.MOTOREGLA_WEB);
            return lst;
        }
        public static List<ReglaCentralRiesgo> ObtenerReglaNegocio(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerReglaNegocio";
            oCmd.AddParameter("@Accion", oReglaCentral.Accion);
            oCmd.AddParameter("@CodPlantilla", oReglaCentral.CodigoPlantilla);
            oCmd.AddParameter("@CodRegla", oReglaCentral.CodigoReglaNegocio);
            lst = (List<ReglaCentralRiesgo>)ElManager.EjecutarStore<ReglaCentralRiesgo>(oCmd, DataBase.MOTOREGLA_WEB);
            return lst;
        }
        public static List<ReglaCentralRiesgo> ObtenerReglaNegocioCondicion(ReglaCentralRiesgo oReglaCentral)
        {
            List<ReglaCentralRiesgo> lst = new List<ReglaCentralRiesgo>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerReglaNegocioCondicion";
            oCmd.AddParameter("@Accion", oReglaCentral.Accion);
            oCmd.AddParameter("@CodPlantilla", oReglaCentral.CodigoPlantilla);
            oCmd.AddParameter("@TipoIntegrante", oReglaCentral.CodigoTipoIntegrante);
            oCmd.AddParameter("@CodReglaNegocio", oReglaCentral.CodigoReglaNegocio);
            oCmd.AddParameter("@CodCondicion", oReglaCentral.CodigoCondicion);
            lst = (List<ReglaCentralRiesgo>)ElManager.EjecutarStore<ReglaCentralRiesgo>(oCmd, DataBase.MOTOREGLA_WEB);
            return lst;
        }

        public static void EvaluarCentralRiesgo(ClienteConsulta oDatos)
        {
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_EvaluarCentralRiesgo";
            oCmd.AddParameter("@Accion", oDatos.Accion);
            oCmd.AddParameter("@NumeroSolicitud", oDatos.NumeroSolicitud);
            oCmd.AddParameter("@ResultadoEvaluacion", 0);           
            ElManager.EjecutarStore<object>(oCmd, DataBase.MOTOREGLA_WEB);
        }

    }
}
